export interface StyleKeyword {
  keyWord: string;
  descWord?: any;
}

export interface Data {
  showKeyword: string;
  styleKeyword: StyleKeyword;
  realkeyword: string;
  searchType: number;
  action: number;
  alg: string;
  gap: number;
  source?: any;
  bizQueryInfo: string;
  logInfo?: any;
  imageUrl?: any;
  trp_type?: any;
  trp_id?: any;
}

export interface keyWordRes {
  code: number;
  message?: any;
  data: Data;
}
export interface hotSearchWordData {
  searchWord: string;
  score: number;
  content: string;
  source?: any;
  iconType: number;
  iconUrl: string;
  url: string;
  alg: string;
}

export interface getHotSearchRes {
  code: number;
  data: hotSearchWordData[];
  message: string;
}
export interface getSearchSuggestParams {
  keywords: string;
}
export interface Artist {
  id: number;
  name: string;
  picUrl: string;
  alias: string[];
  albumSize: number;
  picId: number;
  fansGroup?: any;
  img1v1Url: string;
  img1v1: number;
  alia: string[];
  trans?: any;
}

export interface Album {
  id: number;
  name: string;
  artist: Artist;
  publishTime: number;
  size: number;
  copyrightId: number;
  status: number;
  picId: number;
  mark: number;
}

export interface Artist {
  id: number;
  name: string;
  picUrl: string;
  alias: string[];
  albumSize: number;
  picId: number;
  fansGroup?: any;
  img1v1Url: string;
  accountId: number;
  img1v1: number;
  alia: string[];
  trans?: any;
}

export interface Artist {
  id: number;
  name: string;
  picUrl: string;
  alias: string[];
  albumSize: number;
  picId: number;
  fansGroup?: any;
  img1v1Url: string;
  img1v1: number;
  trans?: any;
}

export interface Artist {
  id: number;
  name: string;
  picUrl: string;
  alias: string[];
  albumSize: number;
  picId: number;
  fansGroup?: any;
  img1v1Url: string;
  img1v1: number;
  trans?: any;
}

export interface Album {
  id: number;
  name: string;
  artist: Artist;
  publishTime: number;
  size: number;
  copyrightId: number;
  status: number;
  picId: number;
  mark: number;
}

export interface Song {
  id: number;
  name: string;
  artists: Artist[];
  album: Album;
  duration: number;
  copyrightId: number;
  status: number;
  alias: any[];
  rtype: number;
  ftype: number;
  mvid: number;
  fee: number;
  rUrl?: any;
  mark: number;
}

export interface Playlist {
  id: number;
  name: string;
  coverImgUrl: string;
  creator?: any;
  subscribed: boolean;
  trackCount: number;
  userId: number;
  playCount: number;
  bookCount: number;
  specialType: number;
  officialTags?: any;
  action?: any;
  actionType?: any;
  recommendText?: any;
  score?: any;
  description: string;
  highQuality: boolean;
}

export interface getSearchSuggestResult {
  albums: Album[];
  artists: Artist[];
  songs: Song[];
  playlists: Playlist[];
  order: string[];
}

export interface getSearchSuggestRes {
  result: getSearchSuggestResult;
  code: number;
}
